package nextel.ruta.bean;

import pe.com.nextel.rms.DataInputStreamX;
import pe.com.nextel.rms.DataOutputStreamX;
import pe.com.nextel.rms.PersistenteX;
import java.io.IOException;
import pe.com.nextel.util.ArrayList;
import pe.com.nextel.util.Arrays;
import pe.com.nextel.util.Comparable;
import pe.com.nextel.util.Iterator;
import pe.com.nextel.util.List;
import pe.com.nextel.util.StringUtils;
import org.kxml2.io.KXmlParser;
import org.kxml2.io.KXmlSerializer;
/**
 *
 * @author eespinoza
 */
public class RutaPorNombreBean extends PersistenteX {
    
    private int idRecordRuta;
    private short posRecordRuta;
    private String nombreRuta;

    
    public void persistir(DataOutputStreamX dataOutput, List list) throws IOException {
        dataOutput.writeInt(list.size());
        for (Iterator it = list.iterator(); it.hasNext();) {
            RutaPorNombreBean rutaNombre = (RutaPorNombreBean) it.next();
            dataOutput.writeInt(rutaNombre.getIdRecordRuta());
            dataOutput.writeShort(rutaNombre.getPosRecordRuta());
            dataOutput.writeString(StringUtils.stringNullToBlank(rutaNombre.getNombreRuta()));
        }
    }
    
    public List recuperar(DataInputStreamX dataInput) throws IOException {
        List lista = new ArrayList();
        RutaPorNombreBean rutaNombre = null;
        int cant = dataInput.readInt();
        for (int i = 0; i < cant; i++) {
            rutaNombre = new RutaPorNombreBean();
            rutaNombre.setIdRecordRuta(dataInput.readInt());
            rutaNombre.setPosRecordRuta(dataInput.readShort());
            rutaNombre.setNombreRuta(dataInput.readString());
            lista.add(rutaNombre);
        }
        
        //Ordenamos la lista
//        Arrays.sort(lista);
        
        return lista;
    }
    
    public int getIdRecordRuta() {
        return idRecordRuta;
    }
    
    public void setIdRecordRuta(int idRecordRuta) {
        this.idRecordRuta = idRecordRuta;
    }
    
    public short getPosRecordRuta() {
        return posRecordRuta;
    }
    
    public void setPosRecordRuta(short posRecordRuta) {
        this.posRecordRuta = posRecordRuta;
    }
    
    public String getNombreRuta() {
        return nombreRuta;
    }
    
    public void setNombreRuta(String nombreRuta) {
        this.nombreRuta = nombreRuta;
    }
    
    public void writeXMLObject(KXmlSerializer writer) throws IOException {
    }
    
    public void readXMLObject(KXmlParser parser) throws IOException {
//        setIdRecordRuta(Integer.parseInt(parser.getAttributeValue(null, "i")));
//        setPosRecordRuta(Short.parseShort(parser.getAttributeValue(null, "p")));
//        setNombreRuta(parser.getAttributeValue(null, "n"));
    }
    
    public void clear() {
        
    }
    
 
}
